1. Technical Field
The disclosed embodiments relate to a bad block identification method, and more particularly to a bad block identification method for NAND flashes with various data formats.
2. Description of the Related Art
NAND flash vendors specify predetermined information for identifying memory blocks of an NAND flash being good or bad. The locations in the memory blocks where the predetermined information is placed on are also specified by the NAND flash vendors. FIG. 1 shows a conventional data format of one page in a memory block of one NAND flash. Referring to FIG. 1, the conventional data format of one page comprises one data area DA and one spare area SA, and the spare area SA follows the data area DA. In this data format, data is written in a conglomerated area (that is the data area). Generally, NAND flash vendors specify the first byte B-1th of the spare area SA to be marked by predetermined information related to bad block identification when a program/erase operation to the memory block fails. That is, if the first byte B-1th of the spare area SA is marked by the predetermined information, the memory block is identified as a bad block. In most prior arts, the first byte B-1th of the spare area SA is marked by “0xFF” to indicate that the corresponding memory block is good, while the first byte B-1th of the spare area SA is marked by a non-0xFF value such as “0x00” to indicate that the corresponding memory block is bad. However, NAND flash controllers may apply various data formats of memory pages, which are different from the conventional data format in FIG. 1, and write data according to different rules. Thus, the first byte B-1th of the spare area SA may be overwritten by the written data, so that the bad block detection by checking the first byte B-1th of the spare area SA is not applicable to the NAND flashes with the various data formats.